package com.xiaoshuidi.cloud.module.contract.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 管理后台 - 费项配置 Response VO
 */
@Schema(description = "管理后台 - 费项配置 Response VO")
@Data
@ToString(callSuper = true)
public class FeesApiVo {

    /**
     * 费项Id
     */
    @Schema(description = "费项Id", required = true)
    @NotNull(message = "费项Id不能为空")
    private Long feeTypeId;

    /**
     * 杂费分类| cycle 周期性费用 | once 一次性费用  |deposit 押金费用 | meter 抄表费用
     */
    @Schema(description = "杂费分类| cycle 周期性费用 | once 一次性费用  |deposit 押金费用 | meter 抄表费用", required = true)
    @NotNull(message = "杂费分类| cycle 周期性费用 | once 一次性费用  | deposit 押金费用 | meter 抄表费用不能为空")
    private String feeSort;

    /**
     * 启用状态 0 未启用 | 1 已启用
     */
    @Schema(description = "启用状态 0 未启用 | 1 已启用", required = true)
    private Integer status = 1;

    /**
     * 单价
     */
    @Schema(description = "单价")
    private BigDecimal price = BigDecimal.ZERO;

    /**
     * 版本号
     */
    @Schema(description = "版本号", required = true)
    private Integer version = 1;

    /**
     * 配置费项id
     */
    @Schema(description = "配置费项id")
    private Integer id;

    /**
     * 费用名称
     */
    @Schema(description = "费用名称", required = true)
    private String feeName;

    @Schema(description = "来源 1 系统预设 | 2 用户添加 ")
    private Integer source = 1;

}
